iT邦幫忙

2024 iThome 鐵人賽

DAY 0
0

今天要介紹RAG的工作流程
https://ithelp.ithome.com.tw/upload/images/20241013/20168005m4MTo2wbNV.jpg

Loader 負責的工作

索引 (Indexing) 階段

將資料切塊 (A)
Loader 負責從原始資料來源(例如文件、網頁、專業文獻等)中讀取數據,並將其切分成較小的區塊。這樣做的目的是讓資料更容易進行後續的檢索和處理,因為處理過大或太多文字會影響系統效率。

轉換成向量 (B)
在這一步會協助準備資料,讓其可以被轉換成向量格式。
Embedding 模型:資料會被轉換成向量(數字表示的形式),這樣能利用向量之間的距離來判斷資料的相似程度。這一步是為了讓後續的檢索更精確。

儲存向量資料 (C)
轉換好的向量資料(以及原始內容)會被儲存進向量資料庫中,以供後續的檢索使用。當資料有更新或新增時,Loader 會負責重新載入和索引這些資料。

Retriever 負責的工作

檢索(Retrieval)階段

查詢轉換成向量 (1)
當使用者輸入問題時,Retriever 會將這個查詢轉換成向量,使其能夠與資料庫中的向量進行比對。

檢索相關資料 (2, 3)
Retriever 利用查詢的向量,從向量資料庫中搜尋出最相關的資料區塊。這些篩選出的區塊就是用來輔助生成回應的關鍵資料。

LLM Generator 負責的工作

生成(Generation) 階段

生成答案 (4, 5)
LLM Generator(大型語言模型)會將 Retriever 提供的「相關資料區塊」和使用者的問題結合,生成最終的回應。這樣做能提升回答的精準度,因為有外部資料可參考,避免回應過於籠統。


上一篇
Day20 RAG架構筆記_組成三大元素
下一篇
Day22 RAG架構筆記__為何不用Fine-Tuning和Prompt Engineering就好了?
系列文
除了ChatGPT,你了解生成式AI的其他應用嗎?30天從零到精通的學習與實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言